#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
#include <limits.h>
#include <ctype.h>

long long
multiply_all_except_one(const long long *a, const int n, const int idx)
{
	register int i = 0;
	register long long ans = 1LL;

	for (i = 0; i < n; i++)
		if (i != idx)
			ans *= a[i];

	return ans;
}

long long
fact(register long long n)
{
	register long long ans = 1;

	if (n <= 1)
		return 1;

	while (n > 1)
		ans *= n--;

	return ans;
}


long long
choose(long long n, long long k)
{
	return fact(n) / (fact(k) * fact(n - k));
}

long long
calc_coef(const long long *roots, const int length)
{
}

long long *
solve(const long long *roots, const int n)
{
	int i, j, k;
	long long *ans;
	long long tmp = 1, acc;

	ans = (long long *) malloc(((size_t) n + 1UL) * sizeof *ans);

	ans[0] = 1;

	for (k = 1; k <= n; k++) {
		acc = 0;
		for (i = 0; i < n; i++) {
		}
		ans[k] = acc;
	}

	return ans;
}

int
main(int argc, char **argv)
{
	static long long roots[9];
	int n, i;
	long long *ans;
	char p[10];

	scanf("%d", &n);
	for (i = 0; i < n; i++)
		scanf("%lld", &roots[i]);

	ans = solve(coef, n);

	for (i = 0; i <= n; i++)
		printf("%lld ", ans[i]);
	fputc('\n', stdout);

	free(ans);
	return 0;
}
